﻿$(function () {
    // 1.封装数据渲染功能
    // 定义当前页
    let pages = 1
    // 每页条数数据
    let pageSize = 5

    function arrly() {
        $.ajax({
            // 请求类型
            type: "get",
            // 请求地址
            url: "/category/queryTopCategoryPaging",
            // 请求数据
            data: {
                page: pages,
                pageSize: pageSize
            },
            // 返回的数据  'text', 'xml', 'json', 'script'
            dataType: "json",
            success: function (res) {
                // 使用模板
                let str = template('tmp', res)
                // 赋值
                $('tbody').html(str)
                // 生成页面数
                paging(res.total)
            }
        })
    }

    arrly()

    // 2.分页功能 ==》 使用bs的插件
    function paging(userSun) {
        $("#paginator").bootstrapPaginator({
            // 默认是2，如果是bootstrap3版本，这个参数必填
            bootstrapMajorVersion: 3,
            // 当前页
            currentPage: pages,
            // 总页数 ==》 页数 = 总数据数 / 一页放多少条数据  然后再进行上去取整
            totalPages: Math.ceil(userSun / pageSize),
            // 设置控件的大小，mini, small, normal,large
            size: "normal",
            onPageClicked: function (event, originalEvent, type, page) {
                // 为按钮绑定点击事件 page:当前点击的按钮值
                pages = page
                arrly()
            }
        })
    }

    // 非空校验 ==》 使用表单校验插件
    $('.form-add').bootstrapValidator({
        //1. 指定不校验的类型，默认为[':disabled', ':hidden', ':not(:visible)'],可以不设置
        excluded: [':disabled', ':hidden', ':not(:visible)'],

        //2. 指定校验时的图标显示，默认是bootstrap风格
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },

        //3. 指定校验字段
        fields: {
            //校验用户名，对应name表单的name属性
            categoryName: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '分类不能为空'
                    }
                }
            }
        }
    })


    $(".form-add").on('success.form.bv', function (e) {
        // 阻止提交按钮的默认行为
        e.preventDefault()

        // 表单获取到所有的键跟值的拼接
        let str = $('.form-add').serialize()
        $.ajax({
            // 请求类型
            type: "post",
            // 请求地址
            url: "/category/addTopCategory",
            // 请求数据
            data: str,
            // 返回的数据  'text', 'xml', 'json', 'script'
            dataType: "json",
            success: function (res) {
                // 重新渲染
                arrly()
                // 模态框隐藏
                $('.modal-add').modal('hide')
                // 表单重置
                // $('.form-add')[0].reset()
                // 重置表单校验样式和数据  resetForm(true)
                // resetForm(是否重置数据，默认值是false )
                $('.form-add').data('bootstrapValidator').resetForm(true)

            }
        })


    })


})